Important Data Structure
- array & string
- linked Lists
- stack & queue
- tree & graph
Important algorithms & concepts
- bit manipulations
- probabilities
- OOP
- Recursive & Dynamic Programming
- Sort & Search
- Scalability & memory issues
- Testing
Knowledge
- C++
- database
- thread & lock
Data Structure terms
Tree
Tree= acyclic graph
Binary tree= tree that consists of 2-children nodes
Binary Search Tree= binary tree with the relationship between all parent(p) and left child(l), right child(r), such that l.val <= p.val < r.val
DepthMin :
logn// Max :n
SearchBest :
O(logn)// Wost :O(n)
Traverse
pre-order: parent -> left subtree -> right subtree
in-order: left subtree -> parent -> right subtree
post-order: left subtree -> right subtree -> parent
Balanced BSTRed-Black Tree
AVL Tree
Treap: tree + heap, randomized binary search tree
implementation
node implementation
ArrayvsDynamic memory